/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Datos;

import Negocio.Usuarios;
import Negocio.CajeroFactura;
import Negocio.Factura;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author Jorge
 */
public class CajeroFacturaDB {
    public boolean grabar(CajeroFactura cajerofactura) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "insert into cajero_factura values(" + cajerofactura.getFactura().getId()+", '"+cajerofactura.getUsuario().getCedula()+"')";
        Boolean resultado = db.ingreso(query);
        db.cerrarConexion();
        return resultado;
    }
    
    public int eliminar(String cedula) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="delete from cajero_factura where cedula_usuario ='" + cedula+"'";
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }
    
    public int eliminarId(int id) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="delete from cajero_factura where num_factura =" + id;
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }
    
    public CajeroFactura buscar(String cedula) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="select * from cajero_factura where cedula_usuario ='" + cedula +"'";        
        ResultSet resultado = db.seleccion(query);
        CajeroFactura cajerofactura=null;
        Usuarios usua = null;
        Factura fact = null;
        if (resultado!=null) {
            resultado.next();
            cajerofactura = new CajeroFactura();
            usua = new Usuarios();
            fact = new Factura();
            usua.setCedula(resultado.getString("Cedula_Usuario"));
            cajerofactura.setUsuario(usua);   
            fact.setId(resultado.getInt("Num_Factura"));
            cajerofactura.setFactura(fact); 
        } 
        db.cerrarConexion();
        return cajerofactura;
        
    }
    public ArrayList listar() throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="select * from cliente_ciudad ";
        ResultSet resultado = db.seleccion(query);
        CajeroFactura cajerofactura=null;
        Usuarios usua = null;
        Factura fact = null;
        ArrayList todos=new ArrayList();
        while (resultado.next()) {
            usua = new Usuarios();
            fact = new Factura();            
            cajerofactura = new CajeroFactura();
            usua.setCedula(resultado.getString(1));
            fact.setId(resultado.getInt(2));
            cajerofactura.setUsuario(usua);   
            cajerofactura.setFactura(fact);
            todos.add(cajerofactura);
        }
        db.cerrarConexion();
        return todos;
    }
}
